// 网络请求模块
import axios from 'axios'

// 在非组件模块中获取store必须通过这种导入的方式，组件中没有this.$store（两者用法结果一样）
import store from '@/store/index.js'

// 调用 axios.create() 方法，创建 axios 的实例对象
const instance = axios.create({
  // 请求根路径
  baseURL: 'http://api-toutiao-web.itheima.net'
})

export default instance

// 请求拦截器
// Add a request interceptor
instance.interceptors.request.use(function(config) {
  // Do something before request is sent
  // console.log(config)
  const { user } = store.state
  // 如果用户一登录，统一给接口设置token信息
  if (user) {
    config.headers.Authorization = `Bearer ${store.state.user.token}`
  }
  // 处理完之后一定要把config返回回去 否则请求就会停在这里
  return config
}, function(error) {
  // Do something with request error
  return Promise.reject(error)
})
// 响应拦截器
